Owing not least to cost pressure, in the case of modern medical-engineering systems as many procedures as possible are nowadays being automated through the use of computer implementations. Medical-engineering procedures, for example in medical image processing, are as a rule based on a sequence of steps or applications.
To arrive at a finding it is for example first necessary to load a series of images, relevant images have to be selected from the series of images and enlarged, and medical measurements have to be performed on the image (to determine the volume of a tumor, for instance). Those steps are implemented by running in part different applications. The example just cited is greatly simplified and intended only to explain in a schematic way what for the end user are as a rule hidden background information-technology processes.
Another example is to be found in the controlling of components of a complex medical device such as, say, a computerized-tomography system. What are usually provided for controlling a computerized-tomography or magnetic-resonance-imaging system are control applications that automatically perform presetting operations on the system that are based on environmental parameters, patient-specific parameters, and other input variables. Included here are, for example, controlling the patient table and positioning registration systems (camera, marker systems, etc.). The presetting operations are as a rule performed fully automatically (which is to say without any user interactions).
A plurality of examination devices can also be operated and controlled in parallel depending on the device and medical apparatus. The medical-engineering applications have therein of late been designed as a client-server application. Their performance can be simulated, monitored, and controlled in advance by way of the inventive proposal.
Especially in the field of medical engineering it is absolutely essential to ensure that the applications which are involved are adequate in terms of performance or, as the case may be, efficiency so that they will be able to cope with emergency scenarios, for example. Thus it must be reliably ensured, for example, that a patient can be examined in preparation for an emergency operation. That in turn requires the fundamentals in terms of information technology to be in place. It must be possible for all applications to be run within a maximum permitted runtime with the necessary resources (for example bandwidth of the network, memory resources, CPU capacity utilization, etc.).
For that, it is in turn important to predict the behavior of the participating clients and the server, with the different clients placing different requirements on resources on the server. For configuring the system it is furthermore important to establish after how many clients that may possibly access applications on the server in parallel there will be a slowing-down of the processes or medical-engineering procedure. If a delay of such kind is identified then it will also be important to know what caused it so that possible counter-measures can be taken.
For resolving these matters it was known how to perform tests in the client-server domain that required the deployment of test engineers and manually configured test procedures. The tests were disadvantageously laborious to perform as well as time-consuming and expensive.
Automated tests were therefore introduced in which certain typical error scenarios were modeled for checking whether the medical-engineering procedures were error-free. The automated tests are obviously very complex in their implementation since their quality depends greatly on how well the real client-server environment is modeled. In must in this connection be borne in mind that the medical context is a highly variable one having flexible environmental parameters with extreme requirements being placed on quality. That places very substantial demands on the automated tests performance.